---@class BuffEffect50 : BaseBuffEffect
BuffEffect50 = ClientFight.CreateClass("BuffEffect50", ClientFight.BaseBuffEffect)
local t = BuffEffect50

---@param fight Fight
---@param buff FighterBuff
function t:action(fight, buff, ...)
    local skill = buff.skill;
    local skillBean = skill.skill.skillBean;
    local heroId = buff.buffBean.f_BuffEffectValue[1];
    local hpRatio = buff.buffBean.f_BuffEffectValue[2];
    local duration = buff.buffBean.f_BuffEffectValue[3];

    local summon = fighterManager.createSummonsFighter(skill.fight, skill.fighter, heroId, skillBean.f_SummonAiType, SummonsType.ENTITY, skillBean.f_SummonThingAttribute, duration);
    if summon == nil then
    return IBuffEffect.FAIL;
    end
    summon.position = Vector2.New(0,0);
    SkillRoleMgr.savePathFile( string.format("[%s]" .. "技能%s创建创建召唤物成功,fightId=%s,{%s}", skill.fight.frame, skill.getSkillModelId, summon.fighterId, summon.getTotalAttribute.print));

    local skillEffect = SkillManager.getSkillEffect(skill.skill.getSkillBean.f_SkillScript);
    if (skillEffect ~= nil) then
    skillEffect.summonEnterSceneBefore(skill, summon);
    end
    FighterManager.fighterEnterScene(skill.fight, summon, skill, 1);

    return ClientFight.BaseBuffEffect.action(self,fight, buff, parameters);
end

t.New()